题目分析
本题难度不大,基础解法小伙伴们一定要能迅速手撕出来。本题还引入了一个扩展的方法—字符串哈希,小伙伴们感兴趣可以了解一下。
滑动窗口
这个题目滑窗的思想,小伙伴们一定要掌握,题目暗示的非常明显,长度为10,那么窗口的大小是固定的。只要移动窗口,并将字符串加入哈希表即可。
因为窗口大小为常数10,算法的时间复杂度为O(n),空间复杂度为O(n)。
1 | class Solution { |
字符串哈希
字符串哈希可以参考字符串哈希,里面有详细的思路和证明
这里直接给出代码,算法的时间复杂度为O(n),空间复杂度为O(n)。
本题中b选择27就会产生冲突,无法通过第30个case,此时更换27为29,则可以通过。
1 | class Solution { |
刷题总结
本题难度不大,可能官方想让我们学习的是滑动窗口的思路,这对于现在的面试笔试环境已经远远不够用了,我希望小伙伴可以看一看字符串哈希的扩展思路,对你会有很大帮助的。